package com.javaex.book.mapper;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.javaex.book.pojo.Book;

public interface BookMapper {
	
	/**
	 * 查询图书数量
	 * <p>根据最低价和最高价查询图书数量；如果minPrice与maxPrice为空，则查询出所有记录数
	 * @param minPrice
	 * @param maxPrice
	 * @return 图书数量
	 */
	Integer countBooks(@Param("minPrice") BigDecimal minPrice, @Param("maxPrice") BigDecimal maxPrice);
	
	/**
	 * 根据图书id查询图书数据
	 * @param id 图书id
	 * @return 图书数据
	 */
	Book selectBookById(Integer id);
	
	/**
	 * 根据页码、页容量、最低价、最高价查询图书数据
	 * @param map 封装页码、页容量、最低价、最高价的map
	 * @return 图书数据
	 */
	List<Book> selectBookList(Map<String, Object> map);
	
	/**
	 * 插入图书
	 * @param book 图书数据
	 * @return 成功添加的记录条数
	 */
	Integer insertBook(Book book);
	
	/**
	 * 修改图书
	 * @param book 用于修改的图书数据
	 * @return 修改成功的记录条数
	 */
	Integer updateBook(Book book);
	
	/**
	 * 删除图书
	 * @param id 图书id
	 * @return 删除成功的记录条数
	 */
	Integer deleteBook(Integer id);
}
